package com.cskaoyan.service.wx;

import com.cskaoyan.bean.BasePageInfo;

import com.cskaoyan.bean.param.CommonData;
import com.cskaoyan.bean.vo.BaseRespVo;
import com.cskaoyan.bean.wx.WXOrderSubmitBo;
import com.cskaoyan.bean.MarketOrderGoods;
import com.cskaoyan.bean.param.CommonData;
import com.cskaoyan.bean.wxorder.WXOrderCommentPO;
import com.cskaoyan.bean.wxorder.WXOrderDetailVO;

import com.cskaoyan.bean.wxorder.WXOrderListVO;

/**
 * @author : Caspar CXC
 * @since : 2022.06.28 17:47
 */
public interface WXOrderService {


    // 显示所有的订单详情
    CommonData<WXOrderListVO> list(Integer showType, BasePageInfo basePageInfo, Integer userId);

    // 根据订单id，用户申请退款
    void refund(Integer orderId);

    // 根据订单id，删除订单
    void delete(Integer orderId);

    // 根据订单id，确定订单收货
    void confirm(Integer orderId);

    // 显示订单详情
    WXOrderDetailVO detail(Integer orderId);


    BaseRespVo submitOrder(WXOrderSubmitBo wxOrderSubmitBo);

    // 评论时，返回订单的信息
    MarketOrderGoods goods(Integer orderId, Integer goodsId);

    // 发布对商品进行评论的信息
    void comment(WXOrderCommentPO wxOrderCommentPO, Integer userId);

    // 用户取消订单
    void cancel(Integer orderId);

    BaseRespVo prepay(Integer orderId);
}
